草庐IT

Android isScreenOn Nullpointer异常

全部标签

c# - 如何向用户报告标准异常?

考虑一个C#GUI应用程序,它使用FileStream读取用户通过“打开文件”对话框选择的文件。如果读取失败并返回oneoftheexceptions,以用户友好的方式向用户报告故障的正确方法是什么?我应该为每个异常创建自己的消息,还是有办法获得一个本地化的、用户友好的消息,我可以逐字呈现给用户?编辑我在问.NET本身是否能够为我提供一个我可以呈现的描述性字符串(并且与其他.NET程序一致)。我知道我可以自己卷起来,但如果有标准替代品,我想避免这种情况。 最佳答案 您可以有一组可本地化的用户异常,其中一个是FileUploadErr

c# - 顶级异常没有捕获任何东西

我的入口点应该捕获任何未在较低级别处理的异常:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Windows.Forms;usingSystem.Threading;usingSystem.Runtime.InteropServices;namespaceEyeScanner{staticclassProgram{[FlagsAttribute]publicenumEXECUTION_STATE:uint{ES_AWAYMODE_REQUIRED=0x00000040,ES_CONTINU

c# - 有趣的 Lucene.net 异常

根据this或this,我通过多个线程使用相同的索引搜索器。但是当我从FsDirectory切换到MMapDirectory时,我遇到了有趣的异常。这个工作正常:staticvoidMain(string[]args){DirectoryInfodirectoryInfo=newDirectoryInfo(@"C:\Users\Tams\Desktop\new\");vardirectory=FSDirectory.Open(directoryInfo);varindexSearcher=newIndexSearcher(directory);constinttimes=100;con

c# - 异常 - 堆栈跟踪行号和消息不匹配

当出现问题时,我们会发现一些代码出现奇怪的问题-在某些情况下,异常消息和堆栈跟踪不匹配。我们有许多具有类似结构的消息处理程序,如下所示:publicvoidHandle(AddTelephoneNumbermessage){vardirectory=ClientService.Directory(Context).Result;varclient=ClientService.ClientLookup(message.ClientNumber,Context).Result;if(!client.Item1){//ClientdoesnotexistthrownewException("

c# - 异常类可见性?

我已经使用C#大约五年了,直到现在我才对自定义异常的类可见性感到震惊。像这样编写内部甚至私有(private)嵌套异常是完全合法的:internalclassWhyDoThis:Exception{}publicclassFoo{privateclassWhyWhyWhy:Exception{}}因此,当您打算在DLL中抛出这些异常时,只有(少数)人在进行正常的(非pokemon)异常处理时,他们的应用才会崩溃。所以我的问题是,这种模式的目的是什么?或者为什么这甚至是合法的? 最佳答案 一个简单的答案是:它和任何错误代码一样合法。我

c# - 字典 Getter 中的参数异常

我遇到了一个奇怪的情况,即以特定方式在C#字典上使用getter会产生参数异常,即使这应该是neverhappen.这个问题似乎只发生在我的电脑上。实际上,我已经找到了解决我原来问题的替代方案。但是我真的很想了解为什么原始解决方案不起作用。我有一个用于Solidworks插件的字典。它跟踪打开的文档及其事件处理程序。它是这样定义的:privateDictionary_openDocs=newDictionary();Solidworks有method检索事件文档。当我尝试使用它来检索事件文档的事件处理程序时,如下所示:_openDocs[SwApp.ActiveDoc]我得到这个Arg

c# - 包装和重新抛出异常会影响性能吗?

我在我的应用程序中遵循这种处理异常的方式。但是我的领导说我做错了。我只是包装并重新抛出相同的异常,这会影响性能。我的方法有什么问题?有没有人对我如何在这里记录和处理异常有任何建议?publicclassBusinessRepository:IBusinessRepo{publicListGetEmployees(){try{//dosomeDBoperations}catch(SQLExceptionsqlex){Logger.Log("Exceptiondetailwithfullstacktrace");thrownewDALException(sqlex,"Errorindata

c# - 包装一个 IEnumerable 并捕获异常

我有一堆类可以Process()对象,并返回它们自己的对象:publicoverrideIEnumerableProcess(IEnumerableincoming){...}我想编写一个处理器类来包装这些处理​​器之一,并记录包装的Process()方法可能抛出的任何未捕获的异常。我的第一个想法是这样的:publicoverrideIEnumerableProcess(IEnumerableincoming){try{foreach(varxinthis.processor.Process(incoming)){yieldreturnx;}}catch(Exceptione){Wri

c# - 如果任何参数为空,为什么 Enumerable.SequenceEqual 会抛出异常?

我正在尝试使用Enumerable.SequenceEqual(x,y)因为我希望它基于Object.Equals(x,y)方法,如果x或y为null,则返回false,如果两者均为null(对于null情况),则返回true。但是,如果任何参数为null引用,Enumerable.SequenceEqual(x,y)将抛出异常,如果给它两个null,则不会返回true。在我的代码中,我经常检查集合相等性,所以我创建了一个方法来模拟序列的Object.Equals行为,但我只是想知道这种默认行为背后的逻辑是什么,并且可能有一个现有方法没有空值异常? 最佳答案

C# 捕获 ThreadPool 上发生的异常

我正在调查我的应用程序中由Win32异常引起的一些崩溃,我已经缩小了它必须发生在处理EventLog.EntryWrittenEventHandler事件处理程序的线程池中的范围我的应用程序。我是这样设置的://CreatetheeventlogmonitoreventLog.Log="Application";eventLog.EnableRaisingEvents=true;eventLog.EntryWritten+=newEntryWrittenEventHandler(EventLogMonitor);EventLogMonitor是我的事件的处理程序。我想知道是否有人知道我